// 要注册的全局组件较多的情况下,将注册的组件抽取出来,单独做一个文件
// 将字体图标注册为全局组件
import GeekIcon from '@/components/geek-icon.vue'

import dayjs from 'dayjs'
import hljs from 'highlight.js'
import 'highlight.js/styles/vs2015.css'
// 使用相对时间插件
import relativeTime from 'dayjs/plugin/relativeTime'

// 本地化语言
import 'dayjs/locale/zh-cn'
dayjs.extend(relativeTime)
dayjs.locale('zh-cn')

// 进行时间转换

// 插件的固定语法
export default {
  // 这个函数是固定的
  install (Vue) {
    // 注册全局组件
    Vue.component('GeekIcon', GeekIcon)

    Vue.filter('relativeTime', value => {
      return dayjs(value).toNow()
    })

    Vue.directive('highlight', el => {
      const codeList = el.querySelectorAll('pre code')
      codeList.forEach(code => {
        hljs.highlightElement(code)
      })
    })
    // // 注册全局指令
    // Vue.directive('focus', {
    //   inserted (ele) {
    //     ele.focus()
    //   }
    // })
    // ...
  }
}
